The rapid expansion of information service and data processing industries has resulted in a need for computer systems to manage and store large amounts of data. As an example, financial service industry businesses such as banks, mutual fund companies or the like often operate large and complex data processing systems that require access to many hundreds of gigabytes or even terabytes of data. Data storage system developers have responded to these types of data storage requirements by integrating large capacity data storage systems, data communications devices and computer systems into networks called “storage networks” or “storage area networks” (SANs). A storage area network is a collection of data storage systems that are networked with a number of host computer systems that operate as servers to access data stored in the data storage systems.
SANs are large, complex environments that include various elements such as storage arrays, switches, hosts and databases all inter-networked. These elements occur in several hundreds in such environments. These elements in turn may consist of several hundred thousands of manageable elements such as storage devices, storage and switch ports, database instances, caches, host devices and file systems, and the like.
By storing frequently used data in caches placed throughout the SAN, requests for the frequently used data can be satisfied without incurring time costs associated with accessing the data at slower storage mediums. Hence, the efficiency and effectiveness of the SAN can be greatly improved by choosing a configuration of caches to be included in the SAN in light of the requests the SAN handles.